package com.sp2.dev.test.test;

/**
 * Created by IntelliJ IDEA.
 * User: zhimingli
 * Date: 14-2-13
 * Time: 下午12:08
 * To change this template use File | Settings | File Templates.
 */
public class DeadLock implements Runnable {

    public int flag;

    public static Object o1 = new Object();
    public static Object o2 = new Object();

    public static void main(String[] args) {
        DeadLock d1 = new DeadLock();
        DeadLock d2 = new DeadLock();
        d1.flag = 1;
        d2.flag = 0;

        Thread t1 = new Thread(d1);
        Thread t2 = new Thread(d2);
        t1.start();
        t2.start();
    }

    public void run() {
        if (flag == 1) {
            synchronized (o1) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (o2) {
                    System.out.println("t1 successed");
                }
            }
        }

        if (flag == 0) {
            synchronized (o2) {
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                synchronized (o1) {
                    System.out.println("t2 successed");
                }
            }
        }
    }
}
